#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<stdlib.h>
#include<string.h>
#include<sys/stat.h>
#include<fcntl.h>

int main()
{
	printf("stdin fd: %d\n", stdin->_fileno);
	printf("stdout fd: %d\n", stdout->_fileno);
	printf("stderr fd: %d\n", stderr->_fileno);
	return 0;
}

//int main()
//{
//	char buffer[1024];
//	ssize_t ret = read(0, buffer, sizeof(buffer));
//	if(ret < 0) return 1;
//	//由于C语言规定，所以这里+'\0'
//	buffer[ret] = '\0';
//	printf("%s", buffer);
//	return 0;
//}


//int main()
//{
//	//umask(0);
//	int fd = open("log.txt", O_WRONLY | O_CREAT | O_TRUNC, 0666);
//	if(fd < 0)
//	{
//		perror("open fail!");
//		return 1;
//	}
//	
//	printf("my fd: %d\n", fd);
//	char *mes = "hello world\n";
//	write(fd, mes, strlen(mes)); 
//
//	close(fd);
//	return 0;
//}

//#define ONE (1 << 0)
//#define TWO (1 << 1)
//#define THREE (1 << 2)
//#define FOUR (1 << 3)
//
//void show(int flag)
//{
//	if(flag & ONE) printf("func1\n");
//	if(flag & TWO) printf("func2\n");
//	if(flag & THREE) printf("func3\n");
//	if(flag & FOUR) printf("func4\n");
//}
//
//int main()
//{
//	show(ONE|FOUR);
//	return 0;
//}
//
//int main()
//{
//	printf("pid: %d\n", getpid());
//	
//	//尝试更改当前进程的工作路径：
//	//chdir("/home/yjh");
//	// fopen默认在当前路径下查找文件log.txt
//	FILE* fp = fopen("log.txt", "w");
//	if(fp == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//
//	char *message = "Hello World!";
//	//这里的strlen(message)是否需要+1呢？
//	fwrite(message, strlen(message), 1, fp);
//	fclose(fp);
//	//sleep(100);
//	return 0;
//}
